package com.doitedu.day06

import com.doitedu.day02.beans.User

import scala.collection.Map

/**
 * @Date: 22.6.26 
 * @Author: HANGGE
 * @qq: 598196583
 * @Tips: 学大数据 ,到多易教育
 * @Description:
 * 类型匹配  不仅仅匹配数据类型  匹配类型内部的数据结构
 *    内部的数据结构   unApply(类型)  {}
 */
object _02模式匹配_属性 {
  def main(args: Array[String]): Unit = {
    val ls = List(
      new User(1, "yuge", 43),
      new User(2, "zhiyao", 18),
      new User(3, "xingbo", 16) ,
      new User2(4, "weihao", 17) ,
    )

    ls.map(user=>user match {
      //  unApply(user) => ()
      case User(id,name,age) =>println(name)
      // 直接类型+结构
      case User2(id,name,age) =>println(id)
    // case List(x,y,z) =>

    })

 /*
  类型匹配
  ls.map(user=> user match {
      case x:User=> println(s"user $x")
      // 类型匹配 匹配到对应的类型  获取内部属性
      case x:User2=>println(s"user2 ${x.id}")
    })*/

  }
}
